home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-5471 / doc / decode.txt next >
Text File  |  1995-08-29  |  8KB  |  233 lines

  1.  
  2.                                  mpeg2decode
  3.                                  ===========
  4.  
  5.                    MPEG-2 Video Decoder, Version 1.1, June 1994
  6.  
  7.                         MPEG Software Simulation Group
  8.                              (MPEG-L@netcom.com)
  9.  
  10.  
  11.  
  12. The program mpeg2decode is our implementation of an ISO/IEC DIS 13818-2
  13. decoder. It converts MPEG-1 and MPEG-2 video bitstreams into uncompressed
  14. video.
  15.  
  16.  
  17. Features
  18. ========
  19.  
  20. + decodes non-scalable, spatial scalable, SNR scalable and data partitioning
  21.   MPEG-2 video bitstreams
  22.  
  23. + supports Simple, Main, SNR Scalable and Spatially Scalable Profile streams
  24.   at all defined levels
  25.  
  26. + decodes MPEG-1 (ISO/IEC IS 11172-2) video bitstreams (except D-picture
  27.   sequences)
  28.  
  29. + several output formats: separate and interleaved Y,U,V component,
  30.   Truevision TGA, PBMPLUS PPM, X11 display
  31.  
  32. + 8 bit ordered dither and interlaced to progressive scan conversion
  33.   for X11 display
  34.  
  35. + optional output of detailed decoding information
  36.  
  37. + robustness against stream syntax errors
  38.  
  39. + fast IEEE 1180-1990 compliant integer arithmetic inverse DCT
  40.  
  41. + optional double precision floating point inverse DCT
  42.  
  43.  
  44. Missing Features
  45. ================
  46.  
  47. - spatial scalability other than interlaced -> interlaced
  48.  
  49. - D-picture MPEG-1 sequences
  50.  
  51. - temporal scalability
  52.  
  53. - error concealment
  54.  
  55. - repeat_field_first and other mostly display process oriented features
  56.  
  57.  
  58. Introduction
  59. ============
  60.  
  61. mpeg2decode takes one or more ISO/IEC DIS 13818-2 [1] MPEG-2 video bitstreams
  62. and converts them to uncompressed video. Since MPEG-2 is (by definition)
  63. forward compatible with MPEG-1, mpeg2decode also decodes MPEG-1 sequences
  64. (ISO/IEC IS 11172-2 [2]).
  65.  
  66. The decoder is not optimized for speed, although some parts (e.g. variable
  67. length decoding, inverse DCT) are based on relatively fast algorithms. The
  68. emphasis was on correct implementation of the standard and simple structure
  69. of the program. Its main purpose is to demonstrate a sample implementation of
  70. an MPEG-2 decoder and to serve as an educational tool. Our hope is that this
  71. implementation makes it easier to understand the relatively complex details
  72. of the standard.
  73.  
  74. As you can deduce from the list of missing features, mpeg2decode is still under
  75. development. However, we considered the current version to be complete
  76. enough to justify a public release.
  77.  
  78. The decoder has been extensively tested on bitstreams produced by a variety
  79. of encoders from the MPEG research community to ascertain validity of the
  80. implementation. Of course we can't guarantee complete compliance with the
  81. standard.
  82.  
  83.  
  84. Usage
  85. =====
  86.  
  87. mpeg2decode {options} input.m2v {upper.m2v} {outfile}
  88.  
  89. Options:
  90.  
  91. -vn  verbose output (n: level)
  92.  
  93. Instructs mpeg2decode to generate informative ouput about the sequence
  94. to stdout. Increasing level (-v1, -v2, etc.) results in more detailed
  95. output.
  96.  
  97. -on  output format (0: YUV, 1: SIF, 2: TGA, 3:PPM, 4:X11, 5:X11 HiQ)
  98.  
  99. To choose a file format for the decoded pictures. Default is 0 (YUV).
  100. The following formats are currently supported:
  101.  
  102. YUV: three headerless files, one for each component. The luminance component
  103.      is stored with an extension of .Y, the chrominance components are
  104.      stored as .U and .V respectively. Size of the chrominance files depends
  105.      on the chroma_format used by the sequence. In case of 4:2:0 they have
  106.      half resolution in both dimensions, in case of 4:2:2 they are subsampled
  107.      in horizontal direction only, while 4:4:4 uses full chrominance
  108.      resolution. All components are stored in row storage from top left to
  109.      bottom right.
  110.  
  111. SIF: one headerless file, with interleaved components. Component order
  112.      is Cb, Y, Cr, Y. This format is also known as Abekas or CCIR Rec. 656
  113.      format. The chrominance components have half resolution in horizontal
  114.      direction (4:2:2) and are aligned with the even luminance samples.
  115.      File extension is .SIF.
  116.  
  117. TGA: Truevision TGA [4] 24 bit R,G,B format in uncompressed (no run length
  118.      coding) format with .tga extension.
  119.  
  120. PPM: Portable PixMap format as defined in PBMPLUS [5], a graphics package by
  121.      Jef Poskanzer. Extension is .ppm.
  122.  
  123. X11: display decoded video on an X Window System server. The current version
  124.      supports only 8 bit color display. You can use the DISPLAY environment
  125.      variable to select a (non-default) display. The output routines perform
  126.      8 bit dithering and interlaced to progressive scan conversion. You can
  127.      choose among two different scan conversion algorithms (only for 4:2:0
  128.      interlaced streams):
  129.  
  130.      - a high quality slow algorithm (-o5, X11 HiQ)
  131.      - a faster but less accurate algorithm (-o4, X11)
  132.  
  133. -f   store interlaced frames in frame format
  134.  
  135. By default, interlaced video is stored field by field. The -f option
  136. permits to store both fields of a frame into one file.
  137.  
  138. -r   use double precision reference IDCT
  139.  
  140. The -r option selects a double precision inverse DCT which is primarily
  141. useful for comparing results from different decoders. The default is to
  142. use a faster integer arithmetic only IDCT implementation which meets the
  143. criteria of IEEE 1180-1990 [3].
  144.  
  145. -s infile  spatial scalable sequence
  146.  
  147. Spatial scalable video is decoded in two passes. The -s option specifies
  148. the names of the output files from the first (lower layer) pass to the
  149. second (enhancement layer) pass. 'infile' describes the name format of the
  150. lower layer pictures for spatial scalable sequences in a format similar to
  151. outfile as described below.
  152.  
  153. -q
  154.  
  155. Set this switch to suppress output of warnings to stderr. Usually a bad idea.
  156.  
  157. -t
  158.  
  159. Setting this option activates low level tracing to stdout. This is mainly for
  160. debugging purposes. Output is extremely voluminous. It currently doesn't
  161. cover all syntactic elements.
  162.  
  163. outfile
  164.  
  165. This parameter has to be specified for output types -o0 to -o3 only. It
  166. describes the names of the output files as a printf format string. It has to
  167. contain exactly one integer format descriptor (e.g. %d, %02d) and, except
  168. for frame storage (-f option or progressive video), a %c descriptor
  169.  
  170. example: out%02d_%c generates files
  171.  
  172.  out00_a.*, out00_b.*, out01_a.*, ...
  173.  
  174.  ('a' denotes the top field, 'b' the bottom field,
  175.   .* is the suffix appropriate for the output format)
  176.  
  177.  
  178. upper.m2v
  179.  
  180. is the name of the upper layer bitstream of an SNR scalable stream or a
  181. data partioning scalable bitstream (input.m2v is the lower layer).
  182.  
  183.  
  184. Examples
  185. ========
  186.  
  187. non-scalable stream (one layer, one pass):
  188.  
  189.  mpeg2decode base.m2v f%d%c
  190.  
  191. SNR-scalable stream (two layers, one pass):
  192.  
  193.  mpeg2decode base.m2v snr.m2v f%d%c
  194.  
  195. spatial-scalable stream (two layers, two passes):
  196.  
  197.  mpeg2decode base.m2v l%d%c
  198.  mpeg2decode -s l%d%c spatial.m2v f%d%c
  199.  
  200. hybrid spatial/SNR-scalable stream (three layers, two passes):
  201.  
  202.  mpeg2decode base.m2v l%d%c
  203.  mpeg2decode -s l%d%c spatial.m2v snr.m2v f%d%c
  204.  
  205. hybrid SNR/spatial-scalable stream (three layers, two passes):
  206.  
  207.  mpeg2decode base.m2v snr.m2v l%d%c
  208.  mpeg2decode -s l%d%c spatial.m2v f%d%c
  209.  
  210. hybrid SNR/spatial/SNR-scalable stream (four layers, two passes):
  211.  
  212.  mpeg2decode base.m2v snr1.m2v l%d%c
  213.  mpeg2decode -s l%d%c spatial.m2v snr2.m2v f%d%c
  214.  
  215. etc.
  216.  
  217.  
  218. References
  219. ==========
  220.  
  221. [1] Draft International Standard ISO/IEC DIS 13818: Generic Coding of
  222.     Moving Pictures and Associated Audio, Part 2: Video.
  223.  
  224. [2] International Standard ISO/IEC IS 11172: Coding of moving pictures
  225.     and associated audio for digital storage media up to about 1,5 Mbit/s,
  226.     Part 2: Video.
  227.  
  228. [3] IEEE Standard Specifications for the Implementations of 8 by 8
  229.     Inverse Discrete Cosine Transform, IEEE Std 1180-1990, December 6, 1990.
  230.  
  231. [4] Truevision TGA (TM) File Format Specification Version 2.0, January 1991.
  232.  
  233. [5] Jef Poskanzer: PBMPLUS, Extended Portable Bitmap Toolkit, December 10, 1991.